Modern software development typically involves constructing and running high quality automated test cases. Automated test cases are routines, macros, or scripts that call compiled executables built from source code under test. When run, such test cases pass specified parameters to the compiled executables, which in turn generates test case output. In some scenarios, quality assurance (QA) personnel use the output from running the test cases to determine which bugs in a bug report may be closed.
In a conventional test case environment, QA personnel use a test case management system (TCM) to manage the test cases and their output. A typical TCM has a database for storing information about the test cases as well as their respective output. For example, a TCM may list a test case identifier, bugs and requirements that the test case addresses, output from the latest software build in an entry in the database, and whether the test case passes or fails according to goals set for the test case.